Systems and methods for selecting devices for backup and restore operations for virtual machines

ABSTRACT

Techniques described herein relate to methods for managing backup and restore operations. The method may include obtaining a health data items associated with vProxies; performing a first clustering analysis using the health data items to apply a first vProxy health label to a first portion of the vProxies and a second vProxy health label to a second portion of the vProxies; performing a first confidence analysis to determine a separate vProxy health confidence value for the first vProxy health label assigned to each of the first portion of vProxies; ranking the first portion of vProxies based on the first confidence analysis to obtain a ranked vProxy health list; receiving a request to perform a backup and restore management operation; and providing, in response to the request, a portion of the ranked vProxy health list to an entity requesting the backup and restore management operation.

BACKGROUND

Computing devices often exist in virtualization environments thatinclude one or more virtualization management devices. Virtualizationmanagement devices may be used for managing any number of virtualizationhosts. Such hosts may have any number of virtual machines (VMs) deployedon them. Such virtual machines may be backed up to or restored from timeto time, and/or at scheduled times. Backup and restore operations may bemanaged by a backup and restore management device, which may use proxyVMs within the virtualization environment to transmit or receive data toperform the relevant operation. However, the health of the proxy chosenfor a backup or restore operation is not considered when the proxy isselected to perform the operation. Instead, other schemes are used toselect the proxy, such as random selection. Additionally, the health ofvirtualization hosts is not considered when selecting a virtualizationhost to which a VM is to be restored.

SUMMARY

In general, embodiments described herein relate to a method for managingbackup and restore operations. The method may include obtaining a firstplurality of health data items associated with a plurality of vProxies;performing a first clustering analysis using the first plurality ofhealth data items to apply a first vProxy health label to a firstportion of the plurality of vProxies and a second vProxy health label toa second portion of the plurality of vProxies; performing a firstconfidence analysis to determine a separate vProxy health confidencevalue for the first vProxy health label assigned to each of the firstportion of the plurality of vProxies; ranking the first portion of theplurality of vProxies based on the first confidence analysis to obtain aranked vProxy health list; receiving a request to perform a backup andrestore management operation; and providing, in response to the request,a portion of the ranked vProxy health list to an entity requesting thebackup and restore management operation.

In general, embodiments described herein relate to a non-transitorycomputer readable medium that includes computer readable program code,which when executed by a computer processor enables the computerprocessor to perform a method for managing backup and restoreoperations. The method may include obtaining a first plurality of healthdata items associated with a plurality of vProxies; performing a firstclustering analysis using the first plurality of health data items toapply a first vProxy health label to a first portion of the plurality ofvProxies and a second vProxy health label to a second portion of theplurality of vProxies; performing a first confidence analysis todetermine a separate vProxy health confidence value for the first vProxyhealth label assigned to each of the first portion of the plurality ofvProxies; ranking the first portion of the plurality of vProxies basedon the first confidence analysis to obtain a ranked vProxy health list;receiving a request to perform a backup and restore managementoperation; and providing, in response to the request, a portion of theranked vProxy health list to an entity requesting the backup and restoremanagement operation.

In general, embodiments described herein relate to a system for managingbackup and restore operations. The system may include a backup andrestore management device comprising a processor, a memory device, astorage device, and a health analyzer. The health analyzer may comprisecircuitry, and be configured to obtain a first plurality of health dataitems associated with a plurality of vProxies; perform a firstclustering analysis using the first plurality of health data items toapply a first vProxy health label to a first portion of the plurality ofvProxies and a second vProxy health label to a second portion of theplurality of vProxies; perform a first confidence analysis to determinea separate vProxy health confidence value for the first vProxy healthlabel assigned to each of the first portion of the plurality ofvProxies; rank the first portion of the plurality of vProxies based onthe first confidence analysis to obtain a ranked vProxy health list;receive a request to perform a backup and restore management operation;and provide, in response to the request, a portion of the ranked vProxyhealth list to an entity requesting the backup and restore managementoperation.

Other aspects of the embodiments disclosed herein will be apparent fromthe following description and the appended claims.

BRIEF DESCRIPTION OF DRAWINGS

Certain embodiments of the invention will be described with reference tothe accompanying drawings. However, the accompanying drawings illustrateonly certain aspects or implementations of the invention by way ofexample and are not meant to limit the scope of the claims.

FIG. 1A shows a diagram of a system in accordance with one or moreembodiments of the invention.

FIG. 1B shows a diagram of a health analyzer in accordance with one ormore embodiments of the invention.

FIG. 2 shows a flowchart in accordance with one or more embodiments ofthe invention.

FIG. 3 shows an example in accordance with one or more embodiments ofthe invention.

FIG. 4 shows a computing system in accordance with one or moreembodiments of the invention.

DETAILED DESCRIPTION

Specific embodiments will now be described with reference to theaccompanying figures.

In the below description, numerous details are set forth as examples ofembodiments described herein. It will be understood by those skilled inthe art, that have the benefit of this Detailed Description, that one ormore embodiments of the embodiments described herein may be practicedwithout these specific details and that numerous variations ormodifications may be possible without departing from the scope of theembodiments described herein. Certain details known to those of ordinaryskill in the art may be omitted to avoid obscuring the description.

In the below description of the figures, any component described withregard to a figure, in various embodiments described herein, may beequivalent to one or more like-named components described with regard toany other figure. For brevity, descriptions of these components will notbe repeated with regard to each figure. Thus, each and every embodimentof the components of each figure is incorporated by reference andassumed to be optionally present within every other figure having one ormore like-named components. Additionally, in accordance with variousembodiments described herein, any description of the components of afigure is to be interpreted as an optional embodiment, which may beimplemented in addition to, in conjunction with, or in place of theembodiments described with regard to a corresponding like-namedcomponent in any other figure.

Throughout the application, ordinal numbers (e.g., first, second, third,etc.) may be used as an adjective for an element (i.e., any noun in theapplication). The use of ordinal numbers is not to imply or create anyparticular ordering of the elements nor to limit any element to beingonly a single element unless expressly disclosed, such as by the use ofthe terms “before”, “after”, “single”, and other such terminology.Rather, the use of ordinal numbers is to distinguish between theelements. By way of an example, a first element is distinct from asecond element, and the first element may encompass more than oneelement and succeed (or precede) the second element in an ordering ofelements.

As used herein, the phrase operatively connected, or operativeconnection, means that there exists between elements/components/devicesa direct or indirect connection that allows the elements to interactwith one another in some way. For example, the phrase ‘operativelyconnected’ may refer to any direct (e.g., wired directly between twodevices or components) or indirect (e.g., wired and/or wirelessconnections between any number of devices or components connecting theoperatively connected devices) connection. Thus, any path through whichinformation may travel may be considered an operative connection.

In general, embodiments described herein relate to methods, systems, andnon-transitory computer readable mediums storing instructions forassessing the relative health of vProxies and/or virtualization hosts,and making information relating to the health of such devices availableto entities requesting backup and/or restore operations for virtualmachines (VMs).

Backup and restore operations are important tasks for successful dataprotection. To perform backup and/or restore of VMs, a proxy VM (vProxy)may be used to offload at least a portion of the workload of datatransmission to and/or from backup storage devices (e.g., a data domain)to the vProxy.

However, using a vProxy currently has limitations. For example, vProxiesare often assigned randomly. Therefore, even though more sessions may beavailable in a first vProxy as compared to a second vProxy, the secondvProxy may be used for backing up a new VM, which may adversely affectbackup and/or restore performance.

Said another way, resources consumed by a vProxy increase with thenumber of concurrent backup and/or restore operations, but such resourceconsumption is not accounted for when a vProxy is selected for anotherbackup or restore operation.

Backup and/or restore of a VM may be performed with using a variety ofdata transport modes (e.g., hotadd, network block device (NBD), etc.).Currently, vProxy allocation does not differentiate between suchtransport modes.

Embodiments described herein enable an entity (e.g., a virtualizationenvironment administrator) seeking to perform a backup and/or restoreoperation to obtain a list of available healthy vProxies rankedaccording to respective heath scores for performing backup and restoreoperations. Additionally, embodiments described herein enable an entityseeking to perform a restore operation to obtain a list of availablehealthy virtualization hosts ranked according to respective heath scoresfor performing restore operations

In one or more embodiments, data items related to the health of vProxiesand virtualization hosts are obtained by a health analyzer. In one ormore embodiments, the data items are stored in a time series database tobe used in analyzing the health of the vProxies and virtualizationhosts. In one or more embodiments, the health analyzer performs aclustering analysis to create two clusters, which are then labeled high(i.e., high health) and low (i.e., low health). In one or moreembodiments, a confidence analysis is then performed (e.g., using atransductive confidence machine) to assign a confidence score to thelabels (i.e., high or low) assigned to each vProxy and virtualizationhost. In one or more embodiments, the confidence scores for the vProxiesassigned a high label are then ranked from highest to lowest. In one ormore embodiments, the confidence scores for virtualization hostsassigned a high label are also then ranked from highest to lowest.

In one or more embodiments, when an entity seeking to perform a backupoperation requests the backup operation, a list of available vProxiesfor performing the backup operation is provided in ranked order frommore healthy to less healthy. In one or more embodiments, the entity maythen choose which vProxy to use for performing the backup operation. Forexample, if the backup operation is of critical importance, then thevProxy with the highest health score may be selected. Similarly, if thebackup of the VM is less critical, a less healthy vProxy may be selectedto perform the backup operation, thereby not adding a backup burden on ahigher health vProxy, which may subsequently be needed for a morecritical backup operation.

In one or more embodiments, when an entity seeking to perform a restoreoperation requests the restore operation, a list of available vProxiesfor performing the restore operation is provided in ranked order frommore healthy to less healthy. In one or more embodiments, the entity maythen choose which vProxy to use for performing the restore operation.For example, if the restore operation is of critical importance, thenthe vProxy with the highest health score may be selected. Similarly, ifthe restore of the VM is less critical, a less healthy vProxy may beselected to perform the restore operation, thereby not adding a restoreburden on a higher health vProxy, which may subsequently be needed for amore critical restore operation.

In one or more embodiments, the entity may subsequently also be providedwith a list of virtualization hosts, or any portion thereof (e.g.,storage, hypervisor, etc.) in ranked order from more healthy to lesshealthy. In one or more embodiments, similar to the vProxy selection,the entity requesting the restore operation may select an appropriatevirtualization host to which the VM will be restored.

In one or more embodiments, ranking virtualization hosts, or portionsthereof, may also be used when determining where to deploy vProxieswithin a virtualization environment.

FIG. 1A shows a diagram of a system in accordance with one or moreembodiments described herein. The system may include a virtualizationenvironment (100). The virtualization environment (100) may include avirtualization environment manager (118) and any number ofvirtualization hosts (e.g., virtualization host A (102), virtualizationhost N (110)). Virtualization host A (102) may include vProxy A (108)and any number of VMs (e.g., VM A (104), VM X (106)). Virtualizationhost N (102) may include vProxy N (116) and any number of VMs (e.g., VMN (112), VM Z (114)). The system may also include a backup and restoremanagement device (122). The backup and restore management device (122)may include a registered virtualization environment manager database(124), a VM database (126), a health analyzer (128), and a vProxy loadbalancer (130). The system may also include a data domain (120). Each ofthese components is described below.

In one or more embodiments, the virtualization hosts (102, 110) arecomputing devices of any type located in a common virtualizationenvironment (100), such as, for example, all or any portion of a datacenter. In one or more embodiments, a virtualization environment (100)is any environment in which any number of computing devices, such asvirtualization host A (102) and virtualization host N (110), aresubject, at least in part, to a shared scheme pooling compute resourcesfor use in deploying virtualized computing device instances (e.g., VMs,containers, emulators, etc.).

In one or more embodiments, the virtualization hosts (e.g., 102, 110)within the virtualization environment (100) may be any single computingdevice, collection of computing devices, portion of one or morecomputing devices, or any other logical grouping of computing resources(e.g., a hyper-converged infrastructure).

In one or more embodiments, a computing device is any device, portion ofa device, or any set of devices capable of electronically processinginstructions and may include any number of components, which include,but are not limited to, any of the following: one or more processors(e.g. components that include integrated circuitry) (not shown), memory(e.g., random access memory (RAM)) (not shown), input and outputdevice(s) (not shown), non-volatile storage hardware (e.g., solid-statedrives (SSDs), hard disk drives (HDDs) (not shown)), one or morephysical interfaces (e.g., network ports, storage ports) (not shown),any number of other hardware components (not shown), and/or anycombination thereof.

Examples of computing devices include, but are not limited to, a server(e.g., a blade-server in a blade-server chassis, a rack server in arack, etc.), a desktop computer, a mobile device (e.g., laptop computer,smart phone, personal digital assistant, tablet computer, automobilecomputing system, and/or any other mobile computing device), a storagedevice (e.g., a disk drive array, a fibre/fiber channel storage device,an Internet Small Computer Systems Interface (iSCSI) storage device, atape storage device, a flash storage array, a network attached storagedevice, etc.), a network device (e.g., switch, router, multi-layerswitch, etc.), a virtual machine, a logical container (e.g., for one ormore applications), and/or any other type of computing device with theaforementioned requirements.

In one or more embodiments, any or all of the aforementioned examplesmay be combined to create a system of such devices, which maycollectively be referred to as a virtualization host (102, 110) (e.g., aset of blade servers in a blade server rack). Other types of computingdevices may be used without departing from the scope of the embodimentsdescribed herein.

In one or more embodiments, the non-volatile storage (not shown) and/ormemory (not shown) of a computing device or system of computing devicesmay be one or more data repositories for storing any number of datastructures storing any amount of data (i.e., information). In one ormore embodiments, a data repository is any type of storage unit and/ordevice (e.g., a file system, database, collection of tables, RAM, and/orany other storage mechanism or medium) for storing data. Further, thedata repository may include multiple different storage units and/ordevices. The multiple different storage units and/or devices may or maynot be of the same type or located at the same physical location.

In one or more embodiments, any non-volatile storage (not shown) and/ormemory (not shown) of a computing device or system of computing devicesmay be considered, in whole or in part, as non-transitory computerreadable mediums storing software and/or firmware.

Such software and/or firmware may include instructions which, whenexecuted by the one or more processors (not shown) or other hardware(e.g. circuitry) of a computing device and/or system of computingdevices, cause the one or more processors and/or other hardwarecomponents to perform operations in accordance with one or moreembodiments described herein.

The software instructions may be in the form of computer readableprogram code to perform methods of embodiments as described herein, andmay, as an example, be stored, in whole or in part, temporarily orpermanently, on a non-transitory computer readable medium such as acompact disc (CD), digital versatile disc (DVD), storage device,diskette, tape storage, flash storage, physical memory, or any othernon-transitory computer readable medium.

In one or more embodiments, a virtualization host (102, 110) includes ahypervisor (not shown), which may also be referred to as a virtualmachine monitor. In one or more embodiments, a hypervisor is anyhardware (e.g., circuitry), software, firmware, or any combinationthereof that includes functionality to manage the underlying hardwareresources of a virtualization host (102, 110), and to make the hardwareresources available for use by VMs, which execute on the hypervisor.Thus, the hypervisor abstracts the underlying hardware from the VMs.

In one or more embodiments, the hypervisor receives instructions fromVMs and performs the instructions using the appropriate underlyinghardware (e.g., processor(s), storage, networking components, etc.) Suchinstructions from a VM may be altered by the hypervisor into a formappropriate for the underlying hardware. For example, the operatingsystem of a VM may seek to execute instructions for a particularprocessor type, and the hypervisor may translate the instructions to aform that the actual underlying hardware processors can process.Additionally or alternatively, certain instructions from a VM may bepassed through a hypervisor for execution using the underlying hardwarewithout modification. A hypervisor may function as a hardware schedulerthat schedules when instructions from various VMs will be executed onunderlying hardware. For example, many VMs, each with virtual processorsallocated, may require that the hypervisor schedule when the underlyinghardware processors will be used to execute instructions for the VMs.Hypervisors may perform any other functions (e.g., provide virtualnetwork components, virtual storage components, etc.) without departingfrom the scope of embodiments described herein.

In one or more embodiments, virtualization hosts (102, 110) in avirtualization environment (106) may have any number of components forwhich data items (e.g., health readings) exist and may be obtained. Suchhealth data items may include, but are not limited to: hypervisor health(e.g., based on errors in hypervisor error logs, hypervisor version,etc.); performance logs for the virtualization host or any portionthereof; storage capacity; system model; operating system versioninformation; a set of data collections and/or types to be backed up;whether or not data is encrypted; whether or not data is to be encryptedwhen stored by a storage device; backup media type (disk, tape, etc.);whether or not garbage collection services are running; number ofconcurrent backups and restores being performed; storage characteristics(e.g., information about type of media used for backup, age of media,various attributes of the media, etc.); system model information (e.g.,cluster information, generation of system, machine check exceptionhistory); information regarding updates and fixes made to a hypervisorafter deployment; thermal data (e.g., processor temperature; memorytemperature; storage disk temperature, network component temperature;other component temperature; voltage data; current data; powerconsumption data; ambient temperature data; chassis temperature; inlettemperatures; exhaust temperatures; minimum and maximum temperatures forany component; optical component temperatures; storage controllertemperatures; network controller temperatures; alternating current (AC)input information; direct current (DC) input information; fan speedinformation; fan power consumption information; temperature and powerinformation for various sub-systems; airflow information; etc.). Othertypes of data items may be used without departing from the scope ofembodiments described herein.

In one or more embodiments, a VM (e.g., 104, 106, 112, 114) is anemulation of a computing device (described above), or any portionthereof, that is abstracted from the underlying hardware of avirtualization host (102, 110) that hosts the VM. In one or moreembodiments, a VM may include functionality to perform any of thefunctionality of a physical computing device. For example, a VM mayinclude an operating system in which any number of software applicationsexist and execute.

In one or more embodiments, one type of VM that may execute on avirtualization host is a vProxy (108, 116). In one or more embodiments,a vProxy (108, 116) may be used to offload at least a portion of theworkload of data transmission to and/or from backup storage devices(e.g., a data domain) to the vProxy (108, 116). A vProxy (108, 116) maybe a relatively small VM in which an operating system executes andmanages software configured to perform backup and restore operations,which may include causing data related to VMs to be copied to a datadomain (e.g., a VM backup) or to be restored from a data domain (e.g., aVM restore). In one or more embodiments, a vProxy (108, 116) is packagedas a virtual appliance (e.g., in an .ovf format).

In one or more embodiments, a backup and restore management device(discussed below) causes a vProxy (108, 116) to be added as a VM to anynumber of virtualization hosts (102, 110) (e.g., via interaction with avirtualization environment manager (118)). In one or more embodiments,each vProxy (108, 116) may have any number of vProxy health data itemsthat can be obtained relating to the vProxy (108, 116). Such vProxyhealth data items may include, but are not limited to, supportedtransport modes (e.g., hotadd, NBD), number of concurrent backup and/orrestores being performed, underlying health of the virtualization host(discussed below) on which the vProxy (108, 116) executes, etc. AlthoughFIG. 1 shows each virtualization host (102, 110) having a vProxy (108,116), vProxies may be distributed among the virtualization hosts in anymanner. For example, only a portion of the virtualization hosts may havea vProxy, some virtualization hosts may have more than one vProxy, etc.In one or more embodiments, any vProxy (108, 116) may includefunctionality to perform backup and restore operations for any VM in avirtualization environment (100), (i.e., not just for the VMs on thevirtualization host on which the vProxy resides).

In one or more embodiments, a virtualization environment (100) alsoincludes a virtualization environment manager (118). In one or moreembodiments, a virtualization environment manager (118) is also acomputing device (described above). In one or more embodiments, avirtualization environment manager (118) provides a user interface forone or more entities for managing the virtualization environment (100).As such, the virtualization environment manager (118) is operativelyconnected to the virtualization hosts (102, 110) of the virtualizationenvironment (100), and therefore has access to information related tothe virtualization hosts (102, 110) and to the VMs (104, 106, 112, 114)executing on the virtualization hosts (102, 110), as well as any othercomputing devices (e.g., storage devices, network devices, etc.) withinthe virtualization environment (100). In one or more embodiments, avirtualization environment manager (110) allows entities to viewinformation about the computing devices and VMs of a virtualizationenvironment, to modify aspects of the configuration of such devices andVMs, to deploy or remove VMs (104, 106, 112, 114) on the virtualizationhosts (102, 110), to configure networking and storage for the VMs, or toperform any other task(s) relevant to managing a virtualizationenvironment (100).

In one or more embodiments, the system also includes a backup andrestore management device (122). In one or more embodiments, the backupand restore management device (122) is a computing device (describedabove). The backup and restore management device (122) may be includedin the same virtualization environment (100) as the virtualization hosts(102, 110) and virtualization environment manager (122). Alternatively,as shown in FIG. 1, the backup and restore management device (122) maybe located outside of and operatively connected to the virtualizationenvironment (100). In one or more embodiments, the backup and restoremanagement device (122) includes functionality to manage backup andrestore operations for VMs (e.g., 104, 106, 112, 114) of thevirtualization environment (100). Such operations may be initiated by anentity that administrates the virtualization environment (100), and mayor may not be performed pursuant to a planned schedule. In one or moreembodiments, the backup and restore management device (122) isoperatively connected to the virtualization hosts (102, 110) (e.g., viaa virtualization environment manager (118)), and offloads certainaspects of backup and restore of VMs to vProxies (discussed above)residing on one or more virtualization hosts (102, 110).

In one or more embodiments, the backup and restore management device(122) includes a registered virtualization environment manager database(124). In one or more embodiments, a registered virtualizationenvironment manager database (124) is a data repository. In one or moreembodiments, a data repository is any type of storage unit and/or device(e.g., a file system, database, collection of tables, RAM, and/or anyother storage mechanism or medium) for storing data. Further, the datarepository may include multiple different storage units and/or devices.The multiple different storage units and/or devices may or may not be ofthe same type or located at the same physical location. In one or moreembodiments, the registered virtualization environment manager database(124) includes information related to the various registeredvirtualization environment managers (e.g., 118) that have beenregistered with the backup and restore management device (122), therebyallowing the backup and restore management device (122) to performbackup and/or restore operations for VMs (104, 106, 112, 114) ofvirtualization hosts (102, 110) managed by the virtualizationenvironment manager (118) of a virtualization environment (110). Theinformation regarding registered virtualization environment managers(e.g., 118) may include, but is not limited to, identifying information,access information, location information, etc.

In one or more embodiments, the backup and restore management device(122) includes a VM database (126). In one or more embodiments, a VMdatabase (124) is a data repository. In one or more embodiments, a datarepository is any type of storage unit and/or device (e.g., a filesystem, database, collection of tables, RAM, and/or any other storagemechanism or medium) for storing data. Further, the data repository mayinclude multiple different storage units and/or devices. The multipledifferent storage units and/or devices may or may not be of the sametype or located at the same physical location. In one or moreembodiments, the VM database (126) stores information related to VMsmanaged by the registered virtualization environment managers for whichinformation is stored in the registered virtualization environmentmanager database (124). Information related to VMs that may be stored inthe VM database includes, but is not limited to, identifyinginformation, access information, configuration information (e.g.,operating system, applications, storage, networking, etc.).

In one or more embodiments, the backup and restore management device(122) also includes a vProxy load balancer (130). In one or moreembodiments, a vProxy load balancer (130) is any hardware (e.g.,circuitry), software, firmware, or any combination thereof that includesfunctionality to balance the backup and restore load between vProxies(discussed above) within a virtualization environment (100). Forexample, a vProxy load balancer (130) may attempt to cause a relativelysimilar number of concurrent backup and restore sessions of VMs beingperformed by a set of vProxies within a virtualization environment. Asan example, a vProxy load balancer (130) may be one or more processesexecuting on one or more processors (including circuitry therein) of thebackup and restore management device (122) to load balance betweenvProxies.

In one or more embodiments, the backup and restore management device(122) also includes a health analyzer (128). In one or more embodiments,a health analyzer (128) is any hardware (e.g., circuitry), software,firmware, or any combination thereof that includes functionality toobtain health data items relating to vProxies (108, 116) and/orvirtualization hosts (102, 110) in a virtualization environment. In oneor more embodiments, a health analyzer (128) obtains the thermal dataitems via a network interface (not shown) of the backup and restoremanagement device (122). As an example, a health analyzer (128) may beone or more processes executing on one or more processors (includingcircuitry therein) of the backup and restore management device (122) toobtain and store health data items, and perform various types ofanalysis based on such data items. The health analyzer (128), andcomponents therein, are discussed further in the description of FIG. 1B,below.

In one or more embodiments, the system also includes a data domain(120). In one or more embodiments, the data domain (120) is a computingdevice (discussed above) or set of computing devices that include datastorage, and includes functionality to store VM information that is usedas a backup of a given VM and/or to restore a given VM to avirtualization host (102, 110) of a virtualization environment (100). Inone or more embodiments, a backup and restore management device (122)uses one or more vProxies (108, 116) to transport data to and/or fromthe data domain (120) during backup and restore operations.

In one or more embodiments, the virtualization hosts (102, 110), thedata domain (120), and the backup and restore management device (122)are operatively connected via a network (not shown). A network may referto an entire network or any portion thereof (e.g., a logical portion ofthe devices within a topology of devices). A network may include a datacenter network, a wide area network, a local area network, a wirelessnetwork, a cellular phone network, or any other suitable network thatfacilitates the exchange of information from one part of the network toanother. A network may be located at a single physical location, or bedistributed at any number of physical sites. In one or more embodiments,a network may be coupled with or overlap, at least in part, with theInternet.

While FIG. 1A shows a configuration of components, other configurationsmay be used without departing from the scope of embodiments describedherein. For example, there may be any number of virtualization hostswithin a virtualization environment. As another example, there may beany number of VMs on a virtualization host. As another example, theremay be any number of virtualization environments, each with any numberof virtualization environment managers. As another example, a backup andrestore management device may be operatively connected to any number ofvirtualization environment managers within any number of virtualizationenvironments. As another example, the system may include any number ofdata domains. As another example, there may be any number of vProxies ina given virtualization environment, which may be distributed in anymanner among the virtualization hosts of the virtualization environment.Accordingly, embodiments disclosed herein should not be limited to theconfiguration of components shown in FIG. 1A.

FIG. 1B shows a diagram of a health analyzer (128) in accordance withone or more embodiments described herein. The health analyzer (128) mayinclude a health data collector (140), a health database (142), a healthanalysis results transmitter (154), and a health analytics engine (146).The health analytics engine (146) may include a cluster generator (148),a health status predictor (150), and a confidence analyzer (152). Eachof these components is described below.

In one or more embodiments, the health analyzer (128), as discussedabove in the description of FIG. 1A, is a computing device, or portionthereof, which may be located within or be external to a virtualizationenvironment (106) that includes vProxies (108, 116) and/orvirtualization hosts (102, 110) for which the health analyzer (100) isperforming health analysis.

In one or more embodiments, a health data collector (140) is anyhardware (e.g., circuitry), software, firmware, or any combinationthereof that includes functionality to obtain health data items(discussed above in the description of FIG. 1) of vProxies andvirtualization hosts in a virtualization environment. In one or moreembodiments, the health data collector (140) obtains the thermal dataitems via a network interface (not shown) of the health analyzer (128).As an example, a health data collector (140) may be one or moreprocesses executing on one or more processors (including circuitrytherein) of the health analyzer (128) to obtain and store health dataitems.

In one or more embodiments, the thermal analyzer (100) also includes ahealth data database (142) operatively connected to the health datacollector (140). In one or more embodiments, a health data database(142) is a data repository. In one or more embodiments, a datarepository is any type of storage unit and/or device (e.g., a filesystem, database, collection of tables, RAM, and/or any other storagemechanism or medium) for storing data. Further, the data repository mayinclude multiple different storage units and/or devices. The multipledifferent storage units and/or devices may or may not be of the sametype or located at the same physical location.

In one or more embodiments, a health data database (142) is a databasethat records entries as a series of sets of data items associated with ahealth data item of a given vProxy and/or virtualization host at a giventime. For example, for each vProxy and virtualization host in thevirtualization environment, the health data database (142) may include aset of types of health data items obtained related to a vProxy orvirtualization host. Such per device health data item information may beorganized in any manner, such as in separate tables, aggregated into asingle table, etc., and may be organized as a time-series database thatrecords health data items over time.

In one or more embodiments, the health analyzer (128) includes a healthanalytics engine (146). In one or more embodiments, a health analyticsengine (146) is any hardware (e.g., circuitry), software, firmware, orany combination thereof that includes functionality to analyze healthdata items (discussed above in the description of FIG. 1) associatedwith vProxies and/or virtualization hosts in a virtualizationenvironment. For example, a health analytics engine (146) may be one ormore processes executing on one or more processors of the healthanalyzer (128). In one or more embodiments, the health analytics engine(146) includes functionality to assess health conditions for vProxiesand/or virtualization hosts based on the aforementioned health dataitems to make a prediction of future health conditions, assign aconfidence to the predictions, and rank the predictions based on aconfidence analysis.

In one or more embodiments, the health analytics engine (146) includes acluster generator (148). In one or more embodiments, the clustergenerator (148) is operatively connected to the health data database(142). In one or more embodiments, the cluster generator is any hardware(e.g., circuitry), software, firmware, or any combination thereof thatincludes functionality to use the health data items to group vProxiesand/or virtualization hosts into two clusters of vProxies and/orvirtualization hosts.

In one or more embodiments, the cluster manager (148) includesfunctionality to generate clusters using the health data items for thevProxies and/or virtualization hosts. In one or more embodiments, thecluster manager (148) is configured to organize the data to create twoclusters (e.g., C1 and C2). In one or more embodiments, the clustermanager (148) uses a clustering algorithm such as a HierarchicalDensity-Based Spatial Clustering of Applications with Noise (HDBSCAN).In one or more embodiments, HDBSCAN uses the data to assess the densityrelationships present in the data, using techniques such as, forexample, a nearest neighbor analysis, defining a mutual reachabilitydistance, building minimum spanning trees using an appropriatealgorithm, building a hierarchy of cluster with minimum cluster sizes,and then assigning a cluster label to the computing devices for whichpredicted thermal data items were used as the data set by the clustergenerator (148). One of ordinary skill in the art will appreciate thatany other clustering analysis algorithm may be used without departingfrom the scope of embodiments described herein.

In one or more embodiments, the health analytics engine (146) alsoincludes a health status predictor (150). In one or more embodiments, ahealth status predictor (150) is any hardware (e.g., circuitry),software, firmware, or any combination thereof that includesfunctionality to use the aforementioned cluster labels created from thedata items obtained by the health data collector (140) and stored in thehealth database (142) to predict health statuses (e.g., health is HIGHor LOW relative to a threshold) for vProxies and/or virtualization hostsin the thermal environment. In one or more embodiments, the healthstatus predictor (150) may use any scheme for determining if a givencluster generated by a cluster generator should be labeled as highhealth or low health. For example, a health status predictor (150) mayuse any machine learning algorithm to make the prediction. Such aprediction may be made, for example, by comparing the predicted healthassociated with a given vProxy and/or virtualization host, along withthe cluster label assigned to predict the future health status for thevProxy or virtualization host. In one or more embodiments, one or morethresholds are defined that are used to determine whether a status labelassigned to a vProxy and/or virtualization host should be HIGH (i.e.,high health) or LOW (i.e., low health).

In one or more embodiments, the health analytics engine (146) alsoincludes a confidence analyzer (152). In one or more embodiments, aconfidence analyzer (152) is any hardware (e.g., circuitry), software,firmware, or any combination thereof that includes functionality to usethe aforementioned data items obtained by health data collector (140)and stored in the health data database (142), along with the labelsassigned by the health status predictor (150), to assign a confidencevalue to the prediction of health status. In one or more embodiments,the confidence analyzer (152) uses a transductive confidence machine toassign a confidence to each prediction. Such confidence may be assigned,for example, by calculating a non-conformity score relative to possiblestatus predictions, using the non-conformity scores to determineuncertainty values (e.g., p-values), and using the uncertainty values todetermine credibility and, ultimately, confidence values for eachprediction

In one or more embodiments, the health analyzer (128) also includes ahealth analysis results transmitter (154). In one or more embodiments, ahealth analysis results transmitter (154) is any hardware (e.g.,circuitry), software, firmware, or any combination thereof that includesfunctionality to receive the results of the analyses performed by thehealth analytics engine (146), and to organize such results into a datastructure. For example, the data structure may be a table that includesrows that include a vProxy or virtualization host identifier, apredicted health status for the vProxy or virtualization hostidentifier, a confidence value regarding how likely it is that theprediction is correct, and a mechanism (e.g., a user interface button)that allows an entity administrating a virtualization environment toselect a vProxy or virtualization host from the list for use in a backupor restore operation.

In one or more embodiments, the listing of predicted health statuses isranked, with the highest confidence value being highest at the top ofthe ranking, and the remaining confidence values being ranked in adescending manner thereafter. In one or more embodiments, there is aseparate ranking of vProxies or virtualization hosts predicted to be ata high health and vProxy or virtualization hosts predicted to be at alow health. In one or more embodiments, the high health list may be usedto select a vProxy or virtualization host to use for a backup or restoreoperation, and the low health list may be used to draw attention tovProxies or virtualization hosts that are more confidently predicted tobe exhibiting low health.

In one or more embodiments, the health analysis results transmitter(154) also includes functionality to take the data structure created,and provide the results therein to an interested entity (e.g., anadministrator, a software application performing further analysis ofpossible virtualization management actions, etc.). For example, thehealth analysis results transmitter (154) may be in communication with acomputing device (not shown) that is configured to display, via agraphical user interface (GUI), the results to a virtualizationenvironment administrator.

While FIG. 1B shows a configuration of components, other configurationsmay be used without departing from the scope of embodiments describedherein. Accordingly, embodiments disclosed herein should not be limitedto the configuration of components shown in FIG. 1B.

FIG. 2 shows a flowchart describing a method for health management ofvProxies and virtualization hosts in accordance with one or moreembodiments disclosed herein.

While the various steps in the flowchart shown in FIG. 2 are presentedand described sequentially, one of ordinary skill in the relevant art,having the benefit of this Detailed Description, will appreciate thatsome or all of the steps may be executed in different orders, that someor all of the steps may be combined or omitted, and/or that some or allof the steps may be executed in parallel.

Prior to Step 200, although not shown in FIG. 2, one or morevirtualization environments are registered with a backup and restoremanagement device, which stores information related to thevirtualization environment managers, the virtualization hosts beingmanaged by the virtualization environment manager, and the VMs deployedon the virtualization hosts.

In Step 200, health data items associated with vProxies andvirtualization hosts in a virtualization environment are obtained. Inone or more embodiments, any number of sets of such data items may beobtained, each associated with a respective vProxy or virtualizationhost. As discussed above in the description of FIG. 1A, vProxy healthdata items may include may include, but are not limited to: Such vProxyhealth data items may include, but are not limited to, supportedtransport modes (e.g., hotadd, NBD), number of concurrent backup and/orrestores being performed, underlying health of the virtualization host(discussed below) on which the vProxy (108, 116) executes, etc. Also asdiscussed above in the description of FIG. 1A, virtualization hosthealth data items may include, but are not limited to: hypervisor health(e.g., based on errors in hypervisor error logs, hypervisor version,etc.); performance logs for the virtualization host or any portionthereof; storage capacity; system model; operating system versioninformation; a set of data collections and/or types to be backed up;whether or not data is encrypted; whether or not data is to be encryptedwhen stored by a storage device; backup media type (disk, tape, etc.);whether or not garbage collection services are running; number ofconcurrent backups and restores being performed; storage characteristics(e.g., information about type of media used for backup, age of media,various attributes of the media, etc.); system model information (e.g.,cluster information, generation of system, machine check exceptionhistory); information regarding updates and fixes made to a hypervisorafter deployment; thermal data (e.g., processor temperature; memorytemperature; storage disk temperature, network component temperature;other component temperature; voltage data; current data; powerconsumption data; ambient temperature data; chassis temperature; inlettemperatures; exhaust temperatures; minimum and maximum temperatures forany component; optical component temperatures; storage controllertemperatures; network controller temperatures; alternating current (AC)input information; direct current (DC) input information; fan speedinformation; fan power consumption information; temperature and powerinformation for various sub-systems; airflow information; etc.). Othertypes of health data items for vProxies and/or virtualization hosts maybe used without departing from the scope of embodiments describedherein.

In one or more embodiments, in regards to virtualization host healthdata items, in some cases the overall health of the virtualization hostis of interest. However, any subset of such health data items may beused instead. For example, scenarios may exist where the storage of avirtualization host is to be analyzed to determine health status.Accordingly, in the context of FIG. 2, virtualization host health dataitems may refer to any or all health data items of a virtualizationhost, or may apply to the portion of the virtualization host (e.g.,storage) for which the analysis is to be performed.

In one or more embodiments, such data items are obtained by a healthdata collector of a health analyzer. For example, health data items mayarrive at a network interface of a health analyzer, and a health datacollector may obtain the data items via, at least in part, the networkinterface.

In Step 202, information (including data items) are stored in a timeseries health data database. In one or more embodiments, series ofhealth data items are timestamped when stored in the health datadatabase. As an example, health data items may be stored in the healthdata database by the health data collector performing write operationsto write the health data items to a storage medium.

In Step 204, the health data items are used to generate two clustersthat are assigned as cluster labels to the computing devices of thethermal environment. In one or more embodiments, HDBSCAN is used togenerate and apply the cluster labels to the computing devices. In oneor more embodiments, HDBSCAN uses the health data items to assess thedensity relationships present in the data, using techniques such as, forexample, a nearest neighbor analysis, defining a mutual reachabilitydistance, building minimum spanning trees using an appropriatealgorithm, building a hierarchy of cluster with minimum cluster sizes,and then assigning a cluster label to the computing devices for whichpredicted health data items were used as the data set. One of ordinaryskill in the art will appreciate that any other clustering analysisalgorithm may be used without departing from the scope of embodimentsdescribed herein. In one or more embodiments, the clusters are labeledhigh health and low health, thereby creating a binary classification. Inone or more embodiments, though not shown in FIG. 2, an exchangeabilitytest is performed on the labels. In one or more embodiments, if theexchangeability test fails, the entity administrating the virtualizationenvironment is informed, and the vProxy and/or virtualization hostselection processes reverts to whatever scheme (e.g., random selection,round-robin selection, etc.) was implemented prior to embodimentsdescribed herein. In one or more embodiments, if the exchangeabilitytest passes, then the method proceeds to Step 206

In Step 206, the labels applied to the vProxy clusters are assigned toeach specific vProxy. For example, an identifier of a vProxy may beassociated with the label that was applied to the cluster within whichthe vProxy exists.

In Step 208, the labels applied to the virtualization host clusters andthe virtualization host clusters are assigned to each specificvirtualization host. For example, an identifier of a virtualization host(or of any portion thereof) may be associated with the label that wasapplied to the cluster within which the virtualization host (or portionthereof) exists.

In Step 210, for the health statuses predicted for the vProxies andvirtualization hosts, an analysis is performed to determine a confidenceassociated with the health status prediction. In one or moreembodiments, any prediction confidence scheme may be used to determinethe confidence level of a given prediction. One non-limiting example ofsuch a scheme is a transductive confidence machine. In one or moreembodiments, such a scheme assesses a future health status predictionagainst the information in the health data database to determine that,for vProxies or virtualization hosts having similar sets of data items,whether the predicted health status was correct for similar sets ofhealth data items. In one or more embodiments, if a confidence valueassigned to a given prediction of health status is below a confidencethreshold, then the prediction may be discarded prior to continuing toStep 212.

In Step 212, the predicted health statuses are ranked based on theconfidence levels assigned in Step 210 for the vProxies, and separatelyfor the virtualization hosts (or portions thereof). For example, anassessment of ten vProxies that were predicted to have a high healthyields a confidence level of each prediction. In one or moreembodiments, the predicted health status having the highest confidencevalue is at the top of the ranking, with each subsequent entry in theranking having a progressively lower confidence value.

In Step 214, the results of the aforementioned analyses are provided toan entity tasked with managing a virtualization environment when such anentity requests a backup or restore operation. In one or moreembodiments, if the request is for a backup operation, the ranked vProxylist may be provided along with the ability for the entity to choose avProxy for performing the backup operation. In one or more embodiments,if the request is for a restore operation, the entity may be providedwith the ranked list of vProxies, and the ranked list of virtualizationhosts, and the ability to select from each list for performing therestore operation, thereby selecting the vProxy to perform theoperation, and the virtualization host to which a given VM is to berestored. In one or more embodiments, the results include a vProxyidentifier of the vProxy for each predicted health status, the predictedthermal status, and the confidence value assigned to the prediction. Inone or more embodiments, for a restore operation, the results alsoinclude a virtualization host identifier of the virtualization host foreach predicted health status, the health status prediction, and theconfidence value assigned to the prediction.

In one or more embodiments, the results may be provided to an entity inany way that a collection of data can be presented. For example, anadministrator may be provided a table of entries. Such a table mayinclude a listing of each vProxy or virtualization host predicted tohave a high health, ranked according to the confidence level of theprediction. In one or more embodiments, such a table may be presented tothe administrator as part of a GUI used by the administrator whenrequesting backup and/or restore operations.

In one or more embodiments, providing the results to an administratorallows the administrator an opportunity to select the most appropriatevProxy and/or virtualization host for the backup or restore operationbeing requested. In one or more embodiments, the administrator may alsoreceive results that include a ranked list of vProxies or virtualizationhosts confidently predicted to have low health, which may allow theadministrator to investigate why the low health statuses are beingpredicted.

FIG. 3 shows an example in accordance with one or more embodimentsdescribed herein. The following example is for explanatory purposes onlyand not intended to limit the scope of embodiments described herein.Additionally, while the example shows certain aspects of embodimentsdescribed herein, all possible aspects of such embodiments may not beillustrated in this particular example.

Referring to FIG. 3, consider a scenario in which a backup and restoremanagement device is operatively connected to a virtualizationenvironment. In particular, the backup and restore management device isoperatively connected to a virtualization environment manager, which isregistered with the backup and restore management device. Via thevirtualization environment manager, the backup populates appropriatedatabases with information related to virtualization hosts in thevirtualization environment, and the VMs executing thereon. In thisscenario, there are ten virtualization hosts.

Next, the backup and restore management device, via the virtualizationenvironment manager, causes deployment of one vProxy applicant VM oneach virtualization host in the virtualization environment. Over time,the vProxies perform various backup and restore operations for VMs.Virtualization host A has vProxy A deployed. Virtualization host B hasvProxy B deployed. Virtualization host C has vProxy C deployed.Virtualization host D has vProxy D deployed. Virtualization host E hasvProxy E deployed. Virtualization host F has vProxy F deployed.Virtualization host G has vProxy G deployed. Virtualization host H hasvProxy H deployed. Virtualization host J has vProxy J deployed.Virtualization host K has vProxy K deployed.

Next, the backup and restore management device obtains vProxy healthdata items and virtualization host health data items at regularintervals after the ten vProxies have been deployed on thevirtualization hosts. For the vProxies, health data items includesupported transport modes (e.g., hotadd, NBD), number of concurrentbackup and/or restores being performed, and underlying health of thevirtualization host on which the vProxy executes. Each time, the backupand restore management device re-assesses the relative health of thevProxies and virtualization hosts by performing an HDBS CAN clusteranalysis to create two clusters of vProxies, and two clusters ofvirtualization hosts using their respective health data items that arestored in a time-series health data database, assigning a high healthlabel and low health label for each pair of clusters, and determiningthat an exchangeability analysis on the results passes. The backup andrestore management device is configured, among other actions, to have avProxy health label confidence threshold of 60%. Therefore, after thevProxies are ranked according to their label and respective health labelconfidences, only vProxies with high health label and a confidence valueof 60% or above will be presented to the administrator after a backup orrestore operation is requested.

Next, a virtualization environment administrator accesses a userinterface of the backup and restore management device, and requests thatVM_27 on virtualization host D be backed up to storage in an operativelyconnected data domain. The backup and restore management device has usedits health analyzer to create a ranking of the high health vProxies thathave confidence values of 60% or higher. The ranked list is shown in anexemplary user interface portion as vProxy Selection Interface (300) inFIG. 3. The health status corresponds to the aforementioned confidencescore.

In this scenario, the various analyses determined that, at the time ofthe request, the vProxies C, F, and G were predicted to have low health.vProxies A, B, D, E, H J, and K were predicted to have high health.However, vProxies D and E had a confidence score of the high healthlabel of less than 60%. Only vProxies A, B, H, J, and K had a highhealth label confidence prediction above 60%.

Therefore, vProxy Selection Interface (300) presented to thevirtualization environment administrator after the backup request forVM_27 on virtualization host D include rows for vProxies A, B, H, J, andK, along with their health status (i.e., confidence scores). In thisscenario, VM_27 is deemed by the virtualization environmentadministrator to be of critical importance to the business of thecompany that has deployed the virtualization environment. Accordingly,the virtualization environment administrator selects vProxy A, with thehighest health score of 95%, to perform the backup operation for VM_27of virtualization host D.

Next, the backup and restore management device causes vProxy A toperform the backup based, at least in part, on the selection of thevirtualization environment administrator.

As discussed above, embodiments of the invention may be implementedusing computing devices. FIG. 4 shows a diagram of a computing device inaccordance with one or more embodiments of the invention. The computingdevice (400) may include one or more computer processors (402),non-persistent storage (404) (e.g., volatile memory, such as randomaccess memory (RAM), cache memory), persistent storage (406) (e.g., ahard disk, an optical drive such as a compact disc (CD) drive or digitalversatile disc (DVD) drive, a flash memory, etc.), a communicationinterface (412) (e.g., Bluetooth® interface, infrared interface, networkinterface, optical interface, etc.), input devices (410), output devices(408), and numerous other elements (not shown) and functionalities. Eachof these components is described below.

In one embodiment of the invention, the computer processor(s) (402) maybe an integrated circuit for processing instructions. For example, thecomputer processor(s) may be one or more cores or micro-cores of aprocessor. The computing device (400) may also include one or more inputdevices (410), such as a touchscreen, keyboard, mouse, microphone,touchpad, electronic pen, or any other type of input device. Further,the communication interface (412) may include an integrated circuit forconnecting the computing device (400) to a network (not shown) (e.g., alocal area network (LAN), a wide area network (WAN) such as theInternet, mobile network, or any other type of network) and/or toanother device, such as another computing device.

In one embodiment of the invention, the computing device (400) mayinclude one or more output devices (408), such as a screen (e.g., aliquid crystal display (LCD), a plasma display, touchscreen, cathode raytube (CRT) monitor, projector, or other display device), a printer,external storage, or any other output device. One or more of the outputdevices may be the same or different from the input device(s). The inputand output device(s) may be locally or remotely connected to thecomputer processor(s) (402), non-persistent storage (404), andpersistent storage (406). Many different types of computing devicesexist, and the aforementioned input and output device(s) may take otherforms.

The problems discussed above should be understood as being examples ofproblems solved by embodiments of the invention and the invention shouldnot be limited to solving the same/similar problems. The disclosedinvention is broadly applicable to address a range of problems beyondthose discussed herein.

While embodiments described herein have been described with respect to alimited number of embodiments, those skilled in the art, having thebenefit of this Detailed Description, will appreciate that otherembodiments can be devised which do not depart from the scope ofembodiments as disclosed herein. Accordingly, the scope of embodimentsdescribed herein should be limited only by the attached claims.

What is claimed is:
 1. A method for managing backup and restoreoperations, the method comprising: obtaining a first plurality of healthdata items associated with a plurality of vProxies; performing a firstclustering analysis using the first plurality of health data items toapply a first vProxy health label to a first portion of the plurality ofvProxies and a second vProxy health label to a second portion of theplurality of vProxies; performing a first confidence analysis todetermine a separate vProxy health confidence value for the first vProxyhealth label assigned to each of the first portion of the plurality ofvProxies; ranking the first portion of the plurality of vProxies basedon the first confidence analysis to obtain a ranked vProxy health list;receiving a request to perform a backup and restore managementoperation; and providing, in response to the request, a portion of theranked vProxy health list to an entity requesting the backup and restoremanagement operation.
 2. The method of claim 1, wherein the backup andrestore management operation is a backup operation, and the methodfurther comprises: receiving a selection from the entity of a vProxyfrom the portion of the ranked vProxy health list; and performing, basedon the selection, the backup operation using the vProxy.
 3. The methodof claim 1, wherein the backup and restore management operation is arestore operation, and the method further comprises: receiving a firstselection from the entity of a vProxy from the portion of the rankedvProxy health list; and performing, based on the first selection, therestore operation using the vProxy.
 4. The method of claim 3, furthercomprising, before performing the restore operation: obtaining a secondplurality of data items associated with a plurality of virtualizationhosts; performing a second clustering analysis using the secondplurality of data items to apply a first virtualization host healthlabel to a first portion of the plurality of virtualization hosts and asecond virtualization host label to a second portion of the plurality ofvirtualization hosts; performing a second confidence analysis todetermine a separate virtualization host health confidence value for thefirst virtualization host health label assigned to each of the firstportion of the plurality of virtualization hosts; ranking the firstportion of the plurality of virtualization hosts based on the secondconfidence analysis to obtain a ranked virtualization host health list;and providing a portion of the ranked virtualization host health list tothe entity requesting the restore operation.
 5. The method of claim 4,further comprising, before performing the restore operation and afterproviding the portion of the ranked virtualization host health list tothe entity requesting the restore operation: receiving a secondselection from the entity of a virtualization host from the portion ofthe ranked virtualization host health list, wherein the restoreoperation comprises restoring a virtual machine to the virtualizationhost.
 6. The method of claim 4, wherein the first vProxy health labelindicates high vProxy health and the first hypervisor health labelindicates high hypervisor health.
 7. The method of claim 4, wherein theplurality of vProxies and the plurality of virtualization hosts areassociated with a virtualization environment manager registered with abackup and restore management device that receives the request toperform the backup and restore management operation.
 8. A non-transitorycomputer readable medium comprising computer readable program code,which when executed by a computer processor enables the computerprocessor to perform a method for managing backup and restoreoperations, the method comprising: obtaining a first plurality of healthdata items associated with a plurality of vProxies; performing a firstclustering analysis using the first plurality of health data items toapply a first vProxy health label to a first portion of the plurality ofvProxies and a second vProxy health label to a second portion of theplurality of vProxies; performing a first confidence analysis todetermine a separate vProxy health confidence value for the first vProxyhealth label assigned to each of the first portion of the plurality ofvProxies; ranking the first portion of the plurality of vProxies basedon the first confidence analysis to obtain a ranked vProxy health list;receiving a request to perform a backup and restore managementoperation; and providing, in response to the request, a portion of theranked vProxy health list to an entity requesting the backup and restoremanagement operation.
 9. The non-transitory computer readable medium ofclaim 8, wherein the backup and restore management operation is a backupoperation, and the method further comprises: receiving a selection fromthe entity of a vProxy from the portion of the ranked vProxy healthlist; and performing, based on the selection, the backup operation usingthe vProxy.
 10. The non-transitory computer readable medium of claim 8,wherein the backup and restore management operation is a restoreoperation, and the method further comprises: receiving a first selectionfrom the entity of a vProxy from the portion of the ranked vProxy healthlist; and performing, based on the first selection, the restoreoperation using the vProxy.
 11. The non-transitory computer readablemedium of claim 10, wherein the method further comprises, beforeperforming the restore operation: obtaining a second plurality of dataitems associated with a plurality of virtualization hosts; performing asecond clustering analysis using the second plurality of data items toapply a first virtualization host health label to a first portion of theplurality of virtualization hosts and a second virtualization host labelto a second portion of the plurality of virtualization hosts; performinga second confidence analysis to determine a separate virtualization hosthealth confidence value for the first virtualization host health labelassigned to each of the first portion of the plurality of virtualizationhosts; ranking the first portion of the plurality of virtualizationhosts based on the second confidence analysis to obtain a rankedvirtualization host health list; and providing a portion of the rankedvirtualization host health list to the entity requesting the restoreoperation.
 12. The non-transitory computer readable medium of claim 11,further comprising, before performing the restore operation and afterproviding the portion of the ranked virtualization host health list tothe entity requesting the restore operation: receiving a secondselection from the entity of a virtualization host from the portion ofthe ranked virtualization host health list, wherein the restoreoperation comprises restoring a virtual machine to the virtualizationhost.
 13. The non-transitory computer readable medium of claim 11,wherein the first vProxy health label indicates high vProxy health andthe first hypervisor health label indicates high hypervisor health. 14.The non-transitory computer readable medium of claim 11, wherein theplurality of vProxies and the plurality of virtualization hosts areassociated with a virtualization environment manager registered with abackup and restore management device that receives the request toperform the backup and restore management operation.
 15. A system formanaging backup and restore operations, the system comprising: a backupand restore management device comprising a processor, a memory device, astorage device, and a health analyzer; the health analyzer, comprisingcircuitry, and configured to: obtain a first plurality of health dataitems associated with a plurality of vProxies; perform a firstclustering analysis using the first plurality of health data items toapply a first vProxy health label to a first portion of the plurality ofvProxies and a second vProxy health label to a second portion of theplurality of vProxies; perform a first confidence analysis to determinea separate vProxy health confidence value for the first vProxy healthlabel assigned to each of the first portion of the plurality ofvProxies; rank the first portion of the plurality of vProxies based onthe first confidence analysis to obtain a ranked vProxy health list;receive a request to perform a backup and restore management operation;and provide, in response to the request, a portion of the ranked vProxyhealth list to an entity requesting the backup and restore managementoperation.
 16. The system of claim 15, wherein the backup and restoremanagement operation is a backup operation, and the backup and restoremanagement device is further configured to: receive a selection from theentity of a vProxy from the portion of the ranked vProxy health list;and perform, based on the selection, the backup operation using thevProxy.
 17. The system of claim 15, wherein the backup and restoremanagement operation is a restore operation, and the backup and restoremanagement device is further configured to: receive a first selectionfrom the entity of a vProxy from the portion of the ranked vProxy healthlist; and perform, based on the first selection, the restore operationusing the vProxy.
 18. The system of claim 17, wherein, before performingthe restore operation, the backup and restore management device isfurther configured to: obtain a second plurality of data itemsassociated with a plurality of virtualization hosts; perform a secondclustering analysis using the second plurality of data items to apply afirst virtualization host health label to a first portion of theplurality of virtualization hosts and a second virtualization host labelto a second portion of the plurality of virtualization hosts; perform asecond confidence analysis to determine a separate virtualization hosthealth confidence value for the first virtualization host health labelassigned to each of the first portion of the plurality of virtualizationhosts; rank the first portion of the plurality of virtualization hostsbased on the second confidence analysis to obtain a rankedvirtualization host health list; and provide a portion of the rankedvirtualization host health list to the entity requesting the restoreoperation.
 19. The system of claim 18, wherein, before performing therestore operation and after providing the portion of the rankedvirtualization host health list to the entity requesting the restoreoperation, the backup and restore management device is furtherconfigured to: receive a second selection from the entity of avirtualization host from the portion of the ranked virtualization hosthealth list, wherein: the restore operation comprises restoring avirtual machine to the virtualization host; and the first vProxy healthlabel indicates high vProxy health and the first hypervisor health labelindicates high hypervisor health.
 20. The system of claim 18, whereinthe plurality of vProxies and the plurality of virtualization hosts areassociated with a virtualization environment manager registered with abackup and restore management device that receives the request toperform the backup and restore management operation.